02-RDS-Multi-AZ-업그레이드
RDS Multi-AZ 업그레이드
목표
기존 Single-AZ RDS를 Multi-AZ로 업그레이드해서 데이터베이스도 고가용성으로 만듭니다.
업그레이드 전 준비
현재 RDS 상태 확인
- RDS 콘솔 → 데이터베이스 클릭
- 기존 RDS 인스턴스 클릭 (예: webapp-db)
- 구성 탭에서 현재 설정 확인:
- Multi-AZ: 아니요
- 가용 영역: ap-northeast-2a
웹 애플리케이션 동작 확인
업그레이드 전에 현재 상태를 확인해둡니다:
http://ALB-DNS-Name/webapp/
→ 사용자 등록/조회 기능이 정상 동작하는지 확인
데이터 백업 확인
RDS는 자동으로 백업이 활성화되어 있지만 확인해봅시다:
- RDS 인스턴스 → 유지 관리 및 백업 탭
- 자동 백업 사용: 체크되어 있는지 확인
- 백업 보존 기간: 7일 이상인지 확인
Multi-AZ 업그레이드
1단계: RDS 인스턴스 수정
- RDS 콘솔 → 데이터베이스 → 기존 RDS 인스턴스 선택
- 수정 버튼 클릭
2단계: Multi-AZ 설정
가용성 및 내구성 섹션에서:
- Multi-AZ 배포: 예 선택
다른 설정은 변경하지 않습니다.
3단계: 수정 적용
수정 일정 섹션에서:
- 즉시 적용 선택 (실습이므로)
- 상용 환경에서는 다음 유지 관리 기간 중에 권장
DB 인스턴스 수정 클릭
업그레이드 과정 모니터링
상태 변화 확인
RDS 인스턴스 상태가 다음과 같이 변경됩니다:
1. 사용 가능 → 수정 중 (약 10-15분)
2. Standby DB 생성 중
3. 데이터 동기화 중
4. 수정 중 → 사용 가능
로그 모니터링
이벤트 탭에서 진행 상황 확인:
- "Multi-AZ 인스턴스를 생성 중입니다"
- "Multi-AZ 설정이 완료되었습니다"
업그레이드 완료 확인
Multi-AZ 상태 확인
- RDS 인스턴스 → 구성 탭
- Multi-AZ: 예로 변경됨
- 보조 가용 영역: ap-northeast-2c 표시됨
웹 애플리케이션 동작 확인
업그레이드 완료 후 웹 애플리케이션이 정상 동작하는지 확인:
http://ALB-DNS-Name/webapp/
테스트할 기능:
- 새 사용자 등록
- 사용자 목록 조회
- 페이지 새로고침 시 데이터 유지
연결 엔드포인트 확인
Multi-AZ로 변경되어도 엔드포인트는 동일합니다:
- RDS 인스턴스 → 연결 및 보안 탭
- 엔드포인트 주소가 동일한지 확인
- 애플리케이션 코드 수정 불필요
장애복구 테스트 (선택사항)
주의: 이 테스트는 선택사항입니다. 실제 장애를 시뮬레이션하므로 신중히 결정하세요.
강제 장애복구
- RDS 인스턴스 선택
- 작업 → 재부팅 클릭
- 장애 조치를 통해 재부팅 체크
- 재부팅 클릭
장애복구 확인
재부팅 시작: Primary DB 중지
1-2분 후: Standby DB가 새로운 Primary가 됨
재부팅 완료: 새로운 Standby DB 생성
웹 애플리케이션: 1-2분간 일시적 연결 끊김 후 정상 동작
Multi-AZ 모니터링
CloudWatch 메트릭
Multi-AZ 전용 메트릭들:
- DatabaseConnections: 현재 연결 수
- ReplicaLag: Primary-Standby 간 지연시간
- FreeableMemory: 사용 가능한 메모리
비용 확인
청구 및 비용 관리 → 비용 탐색기에서:
- RDS 비용이 약 2배 증가함을 확인
- 하지만 고가용성 확보
문제 해결
업그레이드가 오래 걸릴 때
정상적인 현상:
- DB 크기에 따라 10-30분 소요 가능
- 데이터 동기화 시간 필요
확인 방법:
- 이벤트 탭에서 진행 상황 모니터링
- 상태가 "수정 중"으로 유지되면 정상
웹 애플리케이션 연결 오류
일시적 연결 끊김:
- Multi-AZ 전환 중 1-2분간 발생 가능
- 재시도하면 정상 연결
지속적인 오류:
# WAS 서버에서 DB 연결 테스트
mysql -h RDS엔드포인트 -u admin -p webapp_db
# 연결 상태 확인
성능 영향
쓰기 성능 약간 감소:
- Primary → Standby 동기화로 인한 지연
- 일반적으로 10-15% 성능 감소
- 안전성을 위한 적절한 트레이드오프
완료 체크리스트
운영 팁
비용 최적화
- 개발 환경에서는 Single-AZ 사용
- 상용 환경에서만 Multi-AZ 적용
성능 최적화
- Read Replica 추가로 읽기 성능 향상
- Connection Pooling으로 연결 효율성 개선
보안 강화
- DB 암호화 활성화
- VPC 보안 그룹으로 접근 제한
Multi-AZ RDS 업그레이드 완료 이제 전체 시스템을 테스트해봅시다.
다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/05-통합테스트/01-고가용성테스트
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/04-Multi-AZ-RDS/01-Multi-AZ-RDS이해, AWS EDU/Archive/조선대학교 AWS 멘토링/Edu Architecture/README